Why Do Smart Contracts Self-Destruct? Investigating the Selfdestruct Function on Ethereum
نویسندگان
چکیده
The selfdestruct function is provided by Ethereum smart contracts to destroy a contract on the blockchain system. However, it double-edged sword for developers. On one hand, using enables developers remove ( SCs ) from and transfers Ethers when emergency situations happen, e.g., being attacked. other this can increase complexity development open an attack vector attackers. To better understand reasons why SC include or exclude in their contracts, we conducted online survey collect feedback them summarize key reasons. Their shows that 66.67% of will deploy updated after destructing old contract. According information, propose method find self-destructed (also called predecessor contracts) version (successor computing code similarity. By analyzing difference between successor found five led death contracts; two (i.e., Unmatched ERC20 Token Limits Permission might affect life span contracts. We developed tool named LifeScope detect these problems. reports 0 false positives negatives detecting . In terms , achieves 77.89% F-measure 0.8673 AUC average. who functions, suggestions help use functions better.
منابع مشابه
A survey of attacks on Ethereum smart contracts
Smart contracts are computer programs that can be correctly executed by a network of mutually distrusting nodes, without the need of an external trusted authority. Since smart contracts handle and transfer assets of considerable value, besides their correct execution it is also crucial that their implementation is secure against attacks which aim at stealing or tampering the assets. We study th...
متن کاملA Survey of Attacks on Ethereum Smart Contracts (SoK)
Smart contracts are computer programs that can be correctly executed by a network of mutually distrusting nodes, without the need of an external trusted authority. Since smart contracts handle and transfer assets of considerable value, besides their correct execution it is also crucial that their implementation is secure against attacks which aim at stealing or tampering the assets. We study th...
متن کاملTool Demonstration: FSolidM for Designing Secure Ethereum Smart Contracts
Blockchain-based distributed computing platforms enable the trusted execution of computation—defined in the form of smart contracts—without trusted agents. Smart contracts are envisioned to have a variety of applications, ranging from financial to IoT asset tracking. Unfortunately, the development of smart contracts has proven to be extremely error prone. In practice, contracts are riddled with...
متن کاملIn Code We Trust? - Measuring the Control Flow Immutability of All Smart Contracts Deployed on Ethereum
Program code stored on the Ethereum blockchain is considered immutable, but this does not imply that its control flow cannot be modified. This bears the risk of loopholes whenever parties encode binding agreements in smart contracts. In order to quantify the issue, we define a heuristic indicator of control flow immutability, evaluate it based on a call graph of all smart contracts deployed on ...
متن کاملSelf-Destruct Non-Malleability
We introduce a new security notion for public-key encryption (PKE) that we dub non-malleability under (chosen-ciphertext) self-destruct attacks (NM-SDA), which appears to be the strongest natural PKE security notion below full-blown chosen-ciphertext (IND-CCA) security. In this notion, the adversary is allowed to ask many adaptive “parallel” decryption queries (i.e., a query consists of many ci...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: ACM Transactions on Software Engineering and Methodology
سال: 2021
ISSN: ['1049-331X', '1557-7392']
DOI: https://doi.org/10.1145/3488245